package com.platform.qujia.constantEnum;

import java.util.Arrays;


public enum TianQuetechPayTypeEnum implements KeyValueable<Integer> {
	
	/**
	 * 被动扫码支付
	 */
	ORDER_REVERSE_SCAN("reverseScan",1),
	
	/**
	 * 暂时没有使用的第二种支付(若需要接入第二种支付可以修改这个值)
	 */
	ORDER_REVERSE_EYST("reverseEyst",2);
	
	

	private String key;//用来做国际化的KEY
	private Integer value;//数据库存的值

	// 构造方法
	TianQuetechPayTypeEnum(String key, Integer value) {
		this.key = key;
		this.value = value;
	}

	//覆盖方法
	@Override
	public String toString() {
		return this.key + ":" + this.value;
	}


	@Override
	public Integer getValue() {
		return this.value;
	}

	@Override
	public String getKey() {
		return this.key;
	}


	/**
	 * 根据value获得枚举对象
	 * @param value value值
	 * @return
	 */
	public static TianQuetechPayTypeEnum getByValue(Integer value){
		for(TianQuetechPayTypeEnum payTypeEnum : values()){
			if (payTypeEnum.getValue().equals(value)) {
				return payTypeEnum;
			}
		}
		return null;
	}


	public static Integer getValue(String type) {
		return Arrays.stream(values()).filter(e -> e.getKey().equals(type)).findFirst().map(TianQuetechPayTypeEnum::getValue).orElse(null);
	}

	public static String getKey(int value) {
		return Arrays.stream(values()).filter(e -> e.getValue().equals(value)).findFirst().map(TianQuetechPayTypeEnum::getKey).orElse(null);
	}
	
}
